package com.jgdt.jgdtkasannong_university_gene_backend.entity.content;

import java.util.Date;
import java.util.List;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 系统菜单表
 * </p>
 *
 * @author chenzg
 * @since 2025-04-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_menu")
public class SysMenu  {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 父ID
     */
    @TableField("parent_id")
    private Integer parentId;

    /**
     * 菜单名称
     */
    @TableField("menu_name")
    private String menuName;

    /**
     * 菜单类型：1-导航菜单 2-功能菜单 3：主界面table类型
     */
    @TableField("menu_type")
    private Integer menuType;

    /**
     * 当前内容前端是否分页处理 Y:是 N:否
     */
    @TableField("is_page")
    private String isPage;
    /**
     * 当前菜单是否存在内容 Y:是 N:否
     */
    @TableField("has_content")
    private String hasContent;

    /**
     * 菜单业务类型id
     */
    @TableField("biz_type_id")
    private Integer bizTypeId;

    /**
     * 菜单路径
     */
    @TableField("menu_path")
    private String menuPath;

    /**
     * 层级从1开始
     */
    private Integer level;

    /**
     * 排序号
     */
    @TableField("sort_num")
    private Integer sortNum;

    /**
     * 0-禁用 1-启用
     */
    @TableField("is_enabled")
    private Integer isEnabled;

    /**
     * 创建人
     */
    @TableField("created_by")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更改人
     */
    @TableField("updated_by")
    private String updatedBy;

    /**
     * 更改时间
     */
    @TableField("update_time")
    private Date updateTime;

    /**
     * 数据上传模板id
     */
    @TableField("template_id")
    private Integer templateId;

    @TableField(exist = false)
    private List<SysMenu> children;


}
